{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": "[<matplotlib.lines.Line2D at 0x1cab39b4550>]"
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#18.1\n",
    "\n",
    "#建立AR模型\n",
    "'''\n",
    "2阶差分拟合的效果还是挺不错的\n",
    "'''\n",
    "import numpy as np\n",
    "from statsmodels.tsa.ar_model import AutoReg\n",
    "import matplotlib.pyplot as plt\n",
    "x = np.array([10.010,11.260,9.000,9.090,9.440,9.090,8.73,8.68,9.04,9.045,\n",
    "              10.050,7.330,6.190,5.680,5.860,5.630,5.560,5.640,5.700,6.360])\n",
    "AR2_model = AutoReg(x,2).fit()\n",
    "predict = AR2_model.predict(2,20)\n",
    "# 计算残差\n",
    "residual = x[1:]-predict\n",
    "plt.plot(x[1:])\n",
    "plt.plot(predict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                            AutoReg Model Results                             \n",
      "==============================================================================\n",
      "Dep. Variable:                      y   No. Observations:                   30\n",
      "Model:                     AutoReg(2)   Log Likelihood                   2.478\n",
      "Method:               Conditional MLE   S.D. of innovations              0.221\n",
      "Date:                Mon, 25 Jul 2022   AIC                              3.044\n",
      "Time:                        01:28:59   BIC                              8.373\n",
      "Sample:                             2   HQIC                             4.673\n",
      "                                   30                                         \n",
      "==============================================================================\n",
      "                 coef    std err          z      P>|z|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "const          0.1490      0.134      1.109      0.267      -0.114       0.412\n",
      "y.L1           0.6735      0.191      3.527      0.000       0.299       1.048\n",
      "y.L2           0.1652      0.192      0.858      0.391      -0.212       0.542\n",
      "                                    Roots                                    \n",
      "=============================================================================\n",
      "                  Real          Imaginary           Modulus         Frequency\n",
      "-----------------------------------------------------------------------------\n",
      "AR.1            1.1567           +0.0000j            1.1567            0.0000\n",
      "AR.2           -5.2346           +0.0000j            5.2346            0.5000\n",
      "-----------------------------------------------------------------------------\n"
     ]
    },
    {
     "data": {
      "text/plain": "[<matplotlib.lines.Line2D at 0x1cab23cefd0>]"
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#18.2\n",
    "\n",
    "'''\n",
    "从图像可知，总体误差还是比较小的。。。。\n",
    "'''\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from statsmodels.tsa.ar_model import AutoReg\n",
    "t = np.linspace(0,np.pi,30)\n",
    "y = np.sin(t) + 0.5 * np.random.rand(30)\n",
    "plt.plot(y)\n",
    "AR2_model = AutoReg(y,2).fit()#3阶差分\n",
    "print(AR2_model.summary())\n",
    "predict = AR2_model.predict(2,30)\n",
    "residual2 = y[1:]-predict#误差水平\n",
    "plt.plot(predict)\n",
    "plt.plot(residual2)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "#18.3\n",
    "\n",
    "'''\n",
    "和前面几乎一样的做法，但是本题要生成均值为0，标准差为0.001的正态分布白噪声\n",
    "np.random.normal(0, 0.001)\n",
    "'''"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "#18。4\n",
    "\n",
    "'''\n",
    "参考csdn\n",
    "https://blog.csdn.net/weixin_47580081/article/details/115470746\n",
    "'''\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}